<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>FZSF - FZSF</title><meta name="keywords" content="分享"><meta name="author" content="FZSF"><meta name="copyright" content="FZSF"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="记录与成长">
<meta property="og:type" content="website">
<meta property="og:title" content="FZSF">
<meta property="og:url" content="https://fanzsfu.gitee.io/page/2/index.html">
<meta property="og:site_name" content="FZSF">
<meta property="og:description" content="记录与成长">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://pic.imgdb.cn/item/6118dff15132923bf87690a5.jpg">
<meta property="article:author" content="FZSF">
<meta property="article:tag" content="分享">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://pic.imgdb.cn/item/6118dff15132923bf87690a5.jpg"><link rel="shortcut icon" href="/img/tou.png"><link rel="canonical" href="https://fanzsfu.gitee.io/page/2/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = { 
  root: '/',
  algolia: undefined,
  localSearch: undefined,
  translate: undefined,
  noticeOutdate: undefined,
  highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
  copy: {
    success: '复制成功',
    error: '复制错误',
    noSupport: '浏览器不支持'
  },
  relativeDate: {
    homepage: false,
    post: false
  },
  runtime: '天',
  date_suffix: {
    just: '刚刚',
    min: '分钟前',
    hour: '小时前',
    day: '天前',
    month: '个月前'
  },
  copyright: undefined,
  lightbox: 'fancybox',
  Snackbar: undefined,
  source: {
    jQuery: 'https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js',
    justifiedGallery: {
      js: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/js/jquery.justifiedGallery.min.js',
      css: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/css/justifiedGallery.min.css'
    },
    fancybox: {
      js: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.js',
      css: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.css'
    }
  },
  isPhotoFigcaption: false,
  islazyload: false,
  isanchor: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
  title: 'FZSF',
  isPost: false,
  isHome: true,
  isHighlightShrink: false,
  isToc: false,
  postUpdate: '2022-06-04 16:39:34'
}</script><noscript><style type="text/css">
  #nav {
    opacity: 1
  }
  .justified-gallery img {
    opacity: 1
  }

  #recent-posts time,
  #post-meta time {
    display: inline !important
  }
</style></noscript><script>(win=>{
    win.saveToLocal = {
      set: function setWithExpiry(key, value, ttl) {
        if (ttl === 0) return
        const now = new Date()
        const expiryDay = ttl * 86400000
        const item = {
          value: value,
          expiry: now.getTime() + expiryDay,
        }
        localStorage.setItem(key, JSON.stringify(item))
      },

      get: function getWithExpiry(key) {
        const itemStr = localStorage.getItem(key)

        if (!itemStr) {
          return undefined
        }
        const item = JSON.parse(itemStr)
        const now = new Date()

        if (now.getTime() > item.expiry) {
          localStorage.removeItem(key)
          return undefined
        }
        return item.value
      }
    }
  
    win.getScript = url => new Promise((resolve, reject) => {
      const script = document.createElement('script')
      script.src = url
      script.async = true
      script.onerror = reject
      script.onload = script.onreadystatechange = function() {
        const loadState = this.readyState
        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
        script.onload = script.onreadystatechange = null
        resolve()
      }
      document.head.appendChild(script)
    })
  
      win.activateDarkMode = function () {
        document.documentElement.setAttribute('data-theme', 'dark')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
        }
      }
      win.activateLightMode = function () {
        document.documentElement.setAttribute('data-theme', 'light')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
        }
      }
      const t = saveToLocal.get('theme')
    
          if (t === 'dark') activateDarkMode()
          else if (t === 'light') activateLightMode()
        
      const asideStatus = saveToLocal.get('aside-status')
      if (asideStatus !== undefined) {
        if (asideStatus === 'hide') {
          document.documentElement.classList.add('hide-aside')
        } else {
          document.documentElement.classList.remove('hide-aside')
        }
      }
    
    const detectApple = () => {
      if (GLOBAL_CONFIG_SITE.isHome && /iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
        document.documentElement.classList.add('apple')
      }
    }
    detectApple()
    })(window)</script><meta name="generator" content="Hexo 5.4.0"></head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="https://pic.imgdb.cn/item/6118dff15132923bf87690a5.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data"><div class="data-item is-center"><div class="data-item-link"><a href="/archives/"><div class="headline">文章</div><div class="length-num">20</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/tags/"><div class="headline">标签</div><div class="length-num">5</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/categories/"><div class="headline">分类</div><div class="length-num">5</div></a></div></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> 清单</span><i class="fas fa-chevron-down expand"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/music/"><i class="fa-fw fas fa-music"></i><span> 音乐</span></a></li><li><a class="site-page child" href="/movies/"><i class="fa-fw fas fa-video"></i><span> 电影</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url('https://pic.imgdb.cn/item/611366a95132923bf814f671.png')"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">FZSF</a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> 清单</span><i class="fas fa-chevron-down expand"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/music/"><i class="fa-fw fas fa-music"></i><span> 音乐</span></a></li><li><a class="site-page child" href="/movies/"><i class="fa-fw fas fa-video"></i><span> 电影</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">FZSF</h1><div id="site-subtitle"><span id="subtitle"></span></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/11/12/%E6%AF%8F%E6%97%A5%E4%B8%80DP-1-CF946D-%E5%88%86%E7%BB%84%E8%83%8C%E5%8C%85-%E9%A2%84%E5%A4%84%E7%90%86/" title="每日一DP(1) CF946D (分组背包+预处理)">     <img class="post_bg" src="https://pic.imgdb.cn/item/60a9dd7f35c5199ba7dded6b.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="每日一DP(1) CF946D (分组背包+预处理)"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/11/12/%E6%AF%8F%E6%97%A5%E4%B8%80DP-1-CF946D-%E5%88%86%E7%BB%84%E8%83%8C%E5%8C%85-%E9%A2%84%E5%A4%84%E7%90%86/" title="每日一DP(1) CF946D (分组背包+预处理)">每日一DP(1) CF946D (分组背包+预处理)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-11-12T10:42:38.000Z" title="发表于 2021-11-12 18:42:38">2021-11-12</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-11-12T11:33:50.448Z" title="更新于 2021-11-12 19:33:50">2021-11-12</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/">每日一题</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/">动态规划</a></span></div><div class="content">前言先说说这个新坑的起因吧(就是菜)
首先是因为之前刷的一些DP题目都是在假刷题，就是DP方程压根想不出来，之后就去看题解，一看，“woc，原来如此！”
之后就copy了DP方程把题给A了
很显然这是一种及其自欺欺人的做题方式，因为并没有去思考DP方程是怎么列出来的，而DP方程的构建才是一道DP题目的核心
所以这个新坑就是用来督促自己学习DP以及让自己的状态不再下滑的。
PS：后来应该还会有错题集之类的专题，因为我很多看题解后A掉的题并没有真正的消化。
题目题目描述
Ivan is a student at Berland State University (BSU). There are $n$ days in Berland week, and each of these days Ivan might have some classes at the university.
There are $m$ working hours during each Berland day, and each lesson at the university lasts exactly one ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/11/07/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-6-%E2%80%94%E2%80%94ST%E8%A1%A8/" title="算法学习笔记(6)——ST表">     <img class="post_bg" src="https://pic.imgdb.cn/item/6189e48f2ab3f51d91f03f8a.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="算法学习笔记(6)——ST表"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/11/07/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-6-%E2%80%94%E2%80%94ST%E8%A1%A8/" title="算法学习笔记(6)——ST表">算法学习笔记(6)——ST表</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-11-07T14:29:13.000Z" title="发表于 2021-11-07 22:29:13">2021-11-07</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-11-09T04:04:39.916Z" title="更新于 2021-11-09 12:04:39">2021-11-09</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E7%AE%97%E6%B3%95%E7%AC%94%E8%AE%B0/">算法笔记</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/">数据结构</a></span></div><div class="content">关于ST表有时候我们会遭遇这样一个问题：需要查询某个区间内的最大值。
很简单对吧，从区间左端点扫到区间右端点$O(n)$的复杂度。
但是如果有多组询问会怎么样呢，每一次都扫一遍的话复杂度就高达$O(mn)$了。
这时我们需要一些十分巧妙的数据结构来帮助我们解决问题了，这类问题也就是十分经典的RMQ(Range Maximum/Minimum Query,区间最大/最小值查询)问题了。
使用线段树和ST表都可以解决上述问题，但是ST表的代码量会短很多，而且在面对高达1e7的询问时也可以卡过去。
现在让我们好好认识一下ST表(Sparse Table,稀疏表)，他是一种简单的数据结构，利用倍增的思想，动态规划的方法来进行时间复杂度为$O(nlogn)$的预处理，而查询的复杂度仅为$O(1)$。是处理静态RMQ问题的一大利器。
倍增：所谓倍增就是翻倍，它可以使线性的处理变为对数级的处理，大大的优化时间复杂度。
如果对倍增的速度没有概念的话，可以去看一下《哆啦A梦》中的“栗子馒头事件”。

ST表的实现ST表的实现分为预处理以及查询两部分，我们先来看预处理。
预处理我们使用一个二维数组$dp[ ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/10/20/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-5-%E2%80%94%E2%80%94%E6%8B%93%E6%89%91%E6%8E%92%E5%BA%8F/" title="算法学习笔记(5)——拓扑排序">     <img class="post_bg" src="https://pic.imgdb.cn/item/616ff8612ab3f51d91c1c318.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="算法学习笔记(5)——拓扑排序"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/10/20/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-5-%E2%80%94%E2%80%94%E6%8B%93%E6%89%91%E6%8E%92%E5%BA%8F/" title="算法学习笔记(5)——拓扑排序">算法学习笔记(5)——拓扑排序</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-10-20T08:38:31.000Z" title="发表于 2021-10-20 16:38:31">2021-10-20</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2022-01-17T11:22:23.502Z" title="更新于 2022-01-17 19:22:23">2022-01-17</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E7%AE%97%E6%B3%95%E7%AC%94%E8%AE%B0/">算法笔记</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%9B%BE%E8%AE%BA/">图论</a></span></div><div class="content">一些闲话关于我学过拓扑排序但是忘记了所以在Div3掉大分这件事
其实对于拓扑复习（预习）真的脱了有好一阵子，一开始学习的时候只把它当作一种排序算法看待，以为有了快排，归并，桶排序之后我就可以不用再去认真学习拓扑排序了，殊不知拓扑排序他除了排序之外其他的都十分好用。
开始有重学拓扑排序的想法其实是在暑假（没错，我又拖了这么久），一场atcoder的比赛中出现了拓扑排序的题，当时就发现它并不只是一个排序算法，应该好好学习一下，但是由于当时在刷洛谷的个人能力综合提升的题单，当时看到part8好像是有关图论的东西，就想着到时候再学，结果就掉大分了。
关于拓扑排序既然名字中带着排序二字，则必定与排序相关。
拓扑排序是对DAG（有向无环图）上的节点进行排序的，排序后，图中的顶点将以线性的方式进行排列，对于图中的两个节点$u \to v$，排序后的序列中$u$一定出现在$v$的前面。
拓扑排序的目标是将所有节点排序，使得排在前边的节点不能依赖与排在后边的节点。
Pecco对此算法有个十分恰当的比喻，这里借用一下。
就像是游戏中的科技树一样，拓扑排序就是找一种可能的点亮科技树的顺序。
Kahn算法拓扑 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/09/04/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-4-%E2%80%94%E2%80%94%E7%A7%8D%E7%B1%BB%E5%B9%B6%E6%9F%A5%E9%9B%86/" title="算法学习笔记(4)——种类并查集">     <img class="post_bg" src="https://pic.imgdb.cn/item/6135acee44eaada7394ab10f.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="算法学习笔记(4)——种类并查集"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/04/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-4-%E2%80%94%E2%80%94%E7%A7%8D%E7%B1%BB%E5%B9%B6%E6%9F%A5%E9%9B%86/" title="算法学习笔记(4)——种类并查集">算法学习笔记(4)——种类并查集</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-09-04T04:11:26.000Z" title="发表于 2021-09-04 12:11:26">2021-09-04</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-09-06T06:51:56.885Z" title="更新于 2021-09-06 14:51:56">2021-09-06</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E7%AE%97%E6%B3%95%E7%AC%94%E8%AE%B0/">算法笔记</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/">数据结构</a></span></div><div class="content">关于种类并查集学习种类并查集的前置芝士是普通并查集，而种类并查集是拓展并查集的一种应用。
通过前面的学习我们可以得知，普通并查集主要解决的是朋友的朋友是朋友的一类问题。
而种类并查集则要解决敌人的敌人是朋友这样的一类问题。
种类并查集的实现对于解决敌人的敌人是朋友这样我问题，我们不是通过开多个并查集来解决问题，而是通过扩大并查集的规模来解决。
比如我们需要维护朋友和敌人这两个关系。
我们就需要开两倍的空间，其中$1$~$n$为朋友关系，$n+1$~$2*n$为敌人关系。
即对于任意一个$i \in [1,n]$，他的敌人都是$i+n$，这个敌人并不是真实存在的，只是假想出来的，为了分类使用。
比如我们现在有4个人：

我们现在知道1和2是敌人关系，所以自然而然的2应该和1的敌人$1+n$是一类，相反的对于2来说1也是如此。
所以我们可以得到以下的图：
此时我们又知道2和3是敌人关系，故可以得到下图：

在这里我们就可以发现，1和3通过6联系起来了，这就是所谓的敌人的敌人是朋友。
例题
题目描述
S 城现有两座监狱，一共关押着 $N$ 名罪犯，编号分别为 $1-N$ 。他们之间的关系自然 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/09/01/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%EF%BC%883%EF%BC%89%E2%80%94%E2%80%94%E5%B9%B6%E6%9F%A5%E9%9B%86/" title="算法学习笔记(3)——并查集">     <img class="post_bg" src="https://pic.imgdb.cn/item/612f671944eaada739efe1f0.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="算法学习笔记(3)——并查集"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/01/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%EF%BC%883%EF%BC%89%E2%80%94%E2%80%94%E5%B9%B6%E6%9F%A5%E9%9B%86/" title="算法学习笔记(3)——并查集">算法学习笔记(3)——并查集</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-09-01T11:05:27.000Z" title="发表于 2021-09-01 19:05:27">2021-09-01</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-09-02T08:56:47.395Z" title="更新于 2021-09-02 16:56:47">2021-09-02</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E7%AE%97%E6%B3%95%E7%AC%94%E8%AE%B0/">算法笔记</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/">数据结构</a></span></div><div class="content">什么是并查集并查集是一种树型数据结构，主要用于处理不交集的合并以及查询操作，他主要包括下列两种操作：

查询（Find）：查询两个元素是否在同一个集合中。
合并（Union）：将两个子集合合并成一个集合。

在XCPC中算是比较常见。
并查集应该如何实现可以把集合看作一个势力，而元素是势力中的人们。
并且我们知道每个势力中必然会有一个领头人来代表一个势力。
所以我们可以将根节点作为这样的一个代表。
而一开始的时候大家都是独行侠，相互独立，互不连通，如图所示

过了一段时间之后，1，2，3几人组成了一个势力，并且认1做大哥。
4，5，6几人也组成了一个势力，认4做大哥。
7还是独行侠。
所以江湖就变成了下面这样：

又过了一段时间，4和1打了一架，发现1比较厉害，所以拖家带口的加入了1。
这个图又变成了这个样子：

又又过了一段时间，7发现形势对自己很不利。
所以打算加入4的势力。
4却和他说：我现在有大哥了，你加入1吧。
最终变成了这个样子：

所以通过上面这个例子我们可以清楚的看到并查集的几种操作方法：

在一开始的时候某个点父节点都是自己。
当一个点A与一个父节点为自身的点B合并时 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/08/29/%E9%A2%98%E8%A7%A3-2021CCPC%E7%BD%91%E7%BB%9C%E8%B5%9B/" title="题解——2021CCPC网络赛">     <img class="post_bg" src="https://pic.imgdb.cn/item/612b4e5b44eaada7392ae20c.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="题解——2021CCPC网络赛"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/08/29/%E9%A2%98%E8%A7%A3-2021CCPC%E7%BD%91%E7%BB%9C%E8%B5%9B/" title="题解——2021CCPC网络赛">题解——2021CCPC网络赛</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-08-29T07:05:09.000Z" title="发表于 2021-08-29 15:05:09">2021-08-29</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-08-31T12:54:45.502Z" title="更新于 2021-08-31 20:54:45">2021-08-31</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E9%A2%98%E8%A7%A3/">题解</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/CCPC/">CCPC</a></span></div><div class="content">闲话学校只让28号返校，来不了就在家再待一周，所以只能上午赶去学校中午再run去学校，麻了+1。
由于假期期间作息不规律（ACMer必备）加上早上要去学校，出现了4点睡6点起的奇怪现象。
状态不好，感觉应该和上把CF一样炸裂。
开赛后果然如此，但是运气比较好，hduoj服务器生大病，比赛不作数，会重赛。
正篇
Problem A. Cut The WireInput file:               standard input
Output file:            standard output
Time limit:             1 second
Memory limit:       256 megabytes
In the country of $Infinity$, there is a strange road. This road only has a starting point, but no end. Since this road is infinite, there are also countless street lights.  ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/08/23/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-2%E2%80%94%E2%80%94%E6%A0%91%E5%9E%8BDP/" title="算法学习笔记(2)——树型DP">     <img class="post_bg" src="https://pic.imgdb.cn/item/6123b76844eaada739b8cba7.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="算法学习笔记(2)——树型DP"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/08/23/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-2%E2%80%94%E2%80%94%E6%A0%91%E5%9E%8BDP/" title="算法学习笔记(2)——树型DP">算法学习笔记(2)——树型DP</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-08-23T13:56:49.000Z" title="发表于 2021-08-23 21:56:49">2021-08-23</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-08-23T14:58:08.260Z" title="更新于 2021-08-23 22:58:08">2021-08-23</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E7%AE%97%E6%B3%95%E7%AC%94%E8%AE%B0/">算法笔记</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/">动态规划</a></span></div><div class="content">什么是树型DP很显然，树型DP就是在树(相信在不久的将来可以补上超链接)上进行的动态规划问题。
由于树的几个性质：节点，边，权值。
故，大部分的树型DP问题是通过子节点转移到父节点(或从父节点转移到子节点)更新权值的最大值(最小值)或者方案数等。
又由于树型结构的固有递归性质，树型DP一般都是递归进行的。
树型DP的状态转移方程千变万化，每一一种固定的通式。
树型DP题目的特点
树型结构：一般这类问题都有较为明显的树型的结构或者是森林，对于森林的一般处理方法是用一个共同的根节点来讲一片森林连接成一颗树，并且多出来的根节点一般不花费代价。
节点之间的状态转移：即状态可以表示为树中的节点，每个节点的状态可以由其子节点状态转移而来(从叶子到根的顺序)，或是由其父亲节点转移而来(从根到叶节点的顺序)，也可是两者结合。

例题以下面这道题为例，介绍一下树形 DP 的一般过程。
P1352 没有上司的舞会 

题目描述
某大学有 $n$ 个职员，编号为 $1 \ldots n$。
他们之间有从属关系，也就是说他们的关系就像一棵以校长为根的树，父结点就是子结点的直接上司。
现在有个周年庆宴会，宴会每 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/08/17/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-1-%E2%80%94%E2%80%94%E5%8C%BA%E9%97%B4DP/" title="算法学习笔记(1)——区间DP">     <img class="post_bg" src="https://pic.imgdb.cn/item/611be6a94907e2d39caf6e45.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="算法学习笔记(1)——区间DP"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/08/17/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-1-%E2%80%94%E2%80%94%E5%8C%BA%E9%97%B4DP/" title="算法学习笔记(1)——区间DP">算法学习笔记(1)——区间DP</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-08-17T14:42:00.000Z" title="发表于 2021-08-17 22:42:00">2021-08-17</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-08-17T16:42:10.244Z" title="更新于 2021-08-18 00:42:10">2021-08-18</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E7%AE%97%E6%B3%95%E7%AC%94%E8%AE%B0/">算法笔记</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/">动态规划</a></span></div><div class="content">什么是区间DP区间DP，顾名思义就是在区间内进行动态规划的算法，是线性动态规划的拓展。
当我们在分阶段的考虑问题时，该类dp问题的本阶段往往与该阶段中元素的排列顺序以及由前一阶段的哪些元素合并而来有关。
我们一般会令$dp[i] [j]$表示从下标$i$到下标$j$中的元素合并所得到的最大值(/最小值/方案数)。
该类问题的状态转移方程往往长这个样子：

dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]+cost)其中$k (i \leq k \le j)$表示在$[i,j)$中枚举断点，即合并点，通过该点拆分后的两个区间为阶段$dp[i] [j]$的前一阶段，两区间合并后得到阶段$dp[i] [j]$。
$cost$则为合并上述两前一阶段区间所要花费的代价。
区间DP题目的特点
特征：题目一般可以拆分成两两合并的形式。
求解：对于整个问题的最优解，枚举断点，将问题分解为两个区间，对两个区间求最优解，最后合并两个区间的最优解得到整个问题的最优解

例题只有文字叙述必然十分抽象，看了例题应该就会很好理解了
NOI1995 石子合并

题目描述
在一个圆形 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/08/16/%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2%E7%AE%97%E6%98%AF%E5%88%9D%E6%AD%A5%E6%90%AD%E5%BB%BA%E5%AE%8C%E6%AF%95%E4%BA%86/" title="个人博客算是初步搭建完毕了">     <img class="post_bg" src="https://pic.imgdb.cn/item/61194a6e5132923bf890e992.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="个人博客算是初步搭建完毕了"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/08/16/%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2%E7%AE%97%E6%98%AF%E5%88%9D%E6%AD%A5%E6%90%AD%E5%BB%BA%E5%AE%8C%E6%AF%95%E4%BA%86/" title="个人博客算是初步搭建完毕了">个人博客算是初步搭建完毕了</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-08-15T17:05:01.000Z" title="发表于 2021-08-16 01:05:01">2021-08-16</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-08-15T17:34:51.297Z" title="更新于 2021-08-16 01:34:51">2021-08-16</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E5%94%A0%E5%97%91/">唠嗑</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E8%AE%B2%E6%95%85%E4%BA%8B/">讲故事</a></span></div><div class="content">关于我为什么要搭建个人博客刚被Codeforces摧残完，掉了大分，人麻了
主要就是想找一个地方来记录一下自己的所学以及成长，同时另一方面可以方便我后来复习。
其实我还有其他的两个博客，一个是CSDN一个是博客园
CSDN个人不是很喜欢（不为什么就是不喜欢）
另一个博客园太乱了（各种水题的题解）
所以就想着再开一个博客来更条理的记录和分享一些知识以及个人经历
关于博客内容方面就那么几个专区吧

第一个是题解，一般只会发整场题的题解，杂题的题解会发布在博客园上
第二个是笔记，算法笔记，其他的一些笔记都会写，方便自己以后复习用
第三个是关于开发方面的文章，由于现在主攻算法竞赛应该不会写多少
最后一个就是唠嗑，就像这篇这样。

关于博客的建成这里有这么几个资料对我的帮助很大，所以特意提一下

程序羊的hexo博客搭建视频
Hexo 安装并使用 Butterfly 主题 | 小康博客 

最后希望我不要把这个博客给🕊了，能坚持下去才行，写着写着不想写了应该是大部分人容易经历的事情，所以我希望以及期待自己可以坚持写下去，相信以后必然成就感++
</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/08/11/hello-world/" title="Hello World">     <img class="post_bg" src="https://pic.imgdb.cn/item/60a9ddc235c5199ba7e096ae.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Hello World"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/08/11/hello-world/" title="Hello World">Hello World</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-08-11T10:44:57.872Z" title="发表于 2021-08-11 18:44:57">2021-08-11</time><span class="article-meta__separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-08-15T13:53:36.116Z" title="更新于 2021-08-15 21:53:36">2021-08-15</time></span></div><div class="content">Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new &quot;My New Post&quot;
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
</div></div></div><nav id="pagination"><div class="pagination"><a class="extend prev" rel="prev" href="/"><i class="fas fa-chevron-left fa-fw"></i></a><a class="page-number" href="/">1</a><span class="page-number current">2</span></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="https://pic.imgdb.cn/item/6118dff15132923bf87690a5.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">FZSF</div><div class="author-info__description">记录与成长</div></div><div class="card-info-data"><div class="card-info-data-item is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">20</div></a></div><div class="card-info-data-item is-center"><a href="/tags/"><div class="headline">标签</div><div class="length-num">5</div></a></div><div class="card-info-data-item is-center"><a href="/categories/"><div class="headline">分类</div><div class="length-num">5</div></a></div></div><a class="button--animated" id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/Elbow-Leaf"><i class="fab fa-github"></i><span>Follow Me</span></a></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn card-announcement-animation"></i><span>公告</span></div><div class="announcement_content">This is my Blog</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/2022/06/04/2022%E5%B9%B4%E5%B1%B1%E4%B8%9C%E7%9C%81ICPC%E7%9C%81%E8%B5%9B%E6%B8%B8%E8%AE%B0/" title="2022年山东省ICPC省赛游记"><img src="https://pic.imgdb.cn/item/629b123b09475431292426f7.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="2022年山东省ICPC省赛游记"/></a><div class="content"><a class="title" href="/2022/06/04/2022%E5%B9%B4%E5%B1%B1%E4%B8%9C%E7%9C%81ICPC%E7%9C%81%E8%B5%9B%E6%B8%B8%E8%AE%B0/" title="2022年山东省ICPC省赛游记">2022年山东省ICPC省赛游记</a><time datetime="2022-06-04T07:59:36.000Z" title="发表于 2022-06-04 15:59:36">2022-06-04</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/04/11/%E5%B1%B1%E4%B8%9C%E5%A4%9A%E6%A0%A1%E9%9B%86%E8%AE%AD1%E6%80%BB%E7%BB%93%EF%BC%88%E6%B5%81%E6%B0%B4%E8%B4%A6%EF%BC%89%E9%99%84%E4%B8%8D%E5%AE%8C%E5%85%A8%E9%A2%98%E8%A7%A3/" title="山东多校集训1总结（流水账）附不完全题解"><img src="https://pic.imgdb.cn/item/6253b949239250f7c54a1415.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="山东多校集训1总结（流水账）附不完全题解"/></a><div class="content"><a class="title" href="/2022/04/11/%E5%B1%B1%E4%B8%9C%E5%A4%9A%E6%A0%A1%E9%9B%86%E8%AE%AD1%E6%80%BB%E7%BB%93%EF%BC%88%E6%B5%81%E6%B0%B4%E8%B4%A6%EF%BC%89%E9%99%84%E4%B8%8D%E5%AE%8C%E5%85%A8%E9%A2%98%E8%A7%A3/" title="山东多校集训1总结（流水账）附不完全题解">山东多校集训1总结（流水账）附不完全题解</a><time datetime="2022-04-11T04:18:00.000Z" title="发表于 2022-04-11 12:18:00">2022-04-11</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/03/21/%E6%AF%8F%E6%97%A5%E4%B8%80DP-6-Leetcode-2172-%E7%8A%B6%E5%8E%8BDP/" title="每日一DP(6) Leetcode 2172(状压DP)"><img src="https://pic.imgdb.cn/item/6237ef7527f86abb2af1c508.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="每日一DP(6) Leetcode 2172(状压DP)"/></a><div class="content"><a class="title" href="/2022/03/21/%E6%AF%8F%E6%97%A5%E4%B8%80DP-6-Leetcode-2172-%E7%8A%B6%E5%8E%8BDP/" title="每日一DP(6) Leetcode 2172(状压DP)">每日一DP(6) Leetcode 2172(状压DP)</a><time datetime="2022-03-21T02:40:26.000Z" title="发表于 2022-03-21 10:40:26">2022-03-21</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/03/18/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-8-%E2%80%94%E2%80%94%E8%83%8C%E5%8C%85DP/" title="算法学习笔记(8)——背包DP"><img src="https://pic.imgdb.cn/item/623403185baa1a80abe33090.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="算法学习笔记(8)——背包DP"/></a><div class="content"><a class="title" href="/2022/03/18/%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-8-%E2%80%94%E2%80%94%E8%83%8C%E5%8C%85DP/" title="算法学习笔记(8)——背包DP">算法学习笔记(8)——背包DP</a><time datetime="2022-03-18T00:58:52.000Z" title="发表于 2022-03-18 08:58:52">2022-03-18</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/01/13/%E6%AF%8F%E6%97%A5%E4%B8%80DP-5-CF1625C-%E7%BA%BF%E6%80%A7DP/" title="每日一DP(5) CF1625C (线性DP)"><img src="https://pic.imgdb.cn/item/61dffe022ab3f51d91788e88.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="每日一DP(5) CF1625C (线性DP)"/></a><div class="content"><a class="title" href="/2022/01/13/%E6%AF%8F%E6%97%A5%E4%B8%80DP-5-CF1625C-%E7%BA%BF%E6%80%A7DP/" title="每日一DP(5) CF1625C (线性DP)">每日一DP(5) CF1625C (线性DP)</a><time datetime="2022-01-13T10:03:53.000Z" title="发表于 2022-01-13 18:03:53">2022-01-13</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
            <i class="fas fa-folder-open"></i>
            <span>分类</span>
            
            </div>
            <ul class="card-category-list" id="aside-cat-list">
            <li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E5%8F%82%E8%B5%9B%E8%AE%B0%E5%BD%95/"><span class="card-category-list-name">参赛记录</span><span class="card-category-list-count">3</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E5%94%A0%E5%97%91/"><span class="card-category-list-name">唠嗑</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/"><span class="card-category-list-name">每日一题</span><span class="card-category-list-count">6</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E7%AE%97%E6%B3%95%E7%AC%94%E8%AE%B0/"><span class="card-category-list-name">算法笔记</span><span class="card-category-list-count">8</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E9%A2%98%E8%A7%A3/"><span class="card-category-list-name">题解</span><span class="card-category-list-count">1</span></a></li>
            </ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/tags/CCPC/" style="font-size: 1.1em; color: #999">CCPC</a> <a href="/tags/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/" style="font-size: 1.5em; color: #99a9bf">动态规划</a> <a href="/tags/%E5%9B%BE%E8%AE%BA/" style="font-size: 1.1em; color: #999">图论</a> <a href="/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/" style="font-size: 1.3em; color: #99a1ac">数据结构</a> <a href="/tags/%E8%AE%B2%E6%95%85%E4%BA%8B/" style="font-size: 1.3em; color: #99a1ac">讲故事</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>归档</span></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2022/06/"><span class="card-archive-list-date">六月 2022</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2022/04/"><span class="card-archive-list-date">四月 2022</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2022/03/"><span class="card-archive-list-date">三月 2022</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2022/01/"><span class="card-archive-list-date">一月 2022</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2021/11/"><span class="card-archive-list-date">十一月 2021</span><span class="card-archive-list-count">6</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2021/10/"><span class="card-archive-list-date">十月 2021</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2021/09/"><span class="card-archive-list-date">九月 2021</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2021/08/"><span class="card-archive-list-date">八月 2021</span><span class="card-archive-list-count">5</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站资讯</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">20</div></div><div class="webinfo-item"><div class="item-name">已运行时间 :</div><div class="item-count" id="runtimeshow" data-publishDate="2021-08-11T02:00:00.000Z"></div></div><div class="webinfo-item"><div class="item-name">本站总字数 :</div><div class="item-count">25.9k</div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"></div></div><div class="webinfo-item"><div class="item-name">本站总访问量 :</div><div class="item-count" id="busuanzi_value_site_pv"></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2022-06-04T08:39:34.123Z"></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">&copy;2021 - 2022 By FZSF</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="回到顶部"><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><div class="js-pjax"><script>function subtitleType () {
  if () { 
    var typed = new Typed("#subtitle", {
      strings: "今日事&#44;今日毕,Never put off till tomorrow what you can do today".split(","),
      startDelay: 300,
      typeSpeed: 150,
      loop: ,
      backSpeed: 50
    })
  } else {
    document.getElementById("subtitle").innerHTML = '今日事&#44;今日毕'
  }
}

if () {
  if (typeof Typed === 'function') {
    subtitleType()
  } else {
    getScript('https://cdn.jsdelivr.net/npm/typed.js/lib/typed.min.js').then(subtitleType)
  }
} else {
  subtitleType()
}</script></div><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>